/**
 * @file main_customer.hh
 * @brief 迷你银行系统客户相关功能声明文件。
 */

#ifndef MAIN_CUSTOMER_HH
#define MAIN_CUSTOMER_HH

#include <iostream>
#include <string>
#include "BankSystem.hh"
#include "UIManager.hh"
#include "AuthManager.hh"

/**
 * @brief 处理客户菜单
 * @param bankSystem 银行系统实例
 * @param uiManager UI管理器实例
 */
void handleCustomerMenu(BankSystem& bankSystem, UIManager& uiManager);

/**
 * @brief 处理客户注册
 * @param bankSystem 银行系统实例
 * @param uiManager UI管理器实例
 */
void handleCustomerRegistration(BankSystem& bankSystem, UIManager& uiManager);

/**
 * @brief 处理客户访问
 * @param bankSystem 银行系统实例
 * @param uiManager UI管理器实例
 * @param authManager 认证管理器实例
 */
void handleCustomerAccess(BankSystem& bankSystem, UIManager& uiManager, AuthManager& authManager);

/**
 * @brief 处理交易报告
 * @param bankSystem 银行系统实例
 * @param uiManager UI管理器实例
 */
void handleTransactionReports(BankSystem& bankSystem, UIManager& uiManager);

#endif // MAIN_CUSTOMER_HH 